In current system-on-chip (SoC) processors, there are many applications that utilize cooperation between different processing cores. For example, such cooperation may be between a three dimensional (3D) engine of a graphics core and a WiFi component.
Such cooperation often consists of data transmission messages and/or synchronization messages. For data transmission messages, such messaging may be done by DMA (Direct Memory Access) or memory mapping. For synchronization messages, such messages may typically be handled by the central processing unit (CPU).
Currently, some users may still be suffering from the tearing of a screen when they watch a video or play games. In general, such tearing may be happening when a display controller scans the buffer when the buffer is being updated at the same time. These conflicts of the read and write on the buffer, will produce the tearing. When the users are playing the games or watching the video, the screen is updated frequently; it is highly possible that the display controller will conflict with the update of buffer and introduce the tearing.
For the tearing issue produced by the conflict of the display controller scanning and the write to the buffer, one solution is to use flip method. In such a flip method, new screen content may be written to a back buffer first. Then, when the display controller finishes the scanning of active area and after a vertical blanking interval (VBLANK) interrupt is received, the system may flip the back buffer with front buffer.